package com.wangxin.study8.predicate;

import java.util.Objects;
import java.util.function.Predicate;

/**
 * @ClassName PredicateMain
 * @Description Predicate 接口是只有一个参数的返回布尔类型值的 断言型 接口。
 * 该接口包含多种默认方法来将 Predicate 组合成其他复杂的逻辑（比如：与，或，非）
 * @Author jojo.wang
 * @Date 2019-04-25 15:18
 * @Version 1.0
 **/
public class PredicateMain {
    public static void main(String[] args) {
        Predicate<String> predicate = s->s.length()>0;
        System.out.println(predicate.test("wang"));
        //predicate.negate()条件翻转
        System.out.println(predicate.negate().test("foo"));

        Predicate<Boolean> nonNull = Objects::nonNull;
        Predicate<Boolean> isNull = Objects::isNull;

        Predicate<String> isEmpty = String::isEmpty;
        Predicate<String> isNotEmpty = isEmpty.negate();


    }
}
